/*     */ package com.zimbra.cs.util.tnef.mapi;
/*     */ 
/*     */ import java.io.IOException;
/*     */ import net.freeutils.tnef.RawInputStream;
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ public class SYSTEMTIME
/*     */ {
/*     */   private int Year;
/*     */   private int Month;
/*     */   private DayOfWeek dayOfWeek;
/*     */   private int Day;
/*     */   private int Hour;
/*     */   private int Minute;
/*     */   private int Seconds;
/*     */   private int Milliseconds;
/*     */   
/*     */   public SYSTEMTIME(RawInputStream ris)
/*     */     throws IOException
/*     */   {
/*  47 */     this.Year = ris.readU16();
/*  48 */     this.Month = ris.readU16();
/*  49 */     readDayOfWeek(ris);
/*  50 */     this.Day = ris.readU16();
/*  51 */     this.Hour = ris.readU16();
/*  52 */     this.Minute = ris.readU16();
/*  53 */     this.Seconds = ris.readU16();
/*  54 */     this.Milliseconds = ris.readU16();
/*     */   }
/*     */   
/*     */   public SYSTEMTIME(int month, int dayofweek, int day, int hour) {
/*  58 */     this.Year = 0;
/*  59 */     this.Month = month;
/*  60 */     this.dayOfWeek = DayOfWeek.getDayOfWeek(dayofweek);
/*  61 */     this.Day = day;
/*  62 */     this.Hour = hour;
/*  63 */     this.Minute = 0;
/*  64 */     this.Seconds = 0;
/*  65 */     this.Milliseconds = 0;
/*     */   }
/*     */   
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */   public int getYear()
/*     */   {
/*  76 */     return this.Year;
/*     */   }
/*     */   
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */   public int getMonth()
/*     */   {
/*  85 */     return this.Month;
/*     */   }
/*     */   
/*     */ 
/*     */ 
/*     */   public DayOfWeek getDayOfWeek()
/*     */   {
/*  92 */     return this.dayOfWeek;
/*     */   }
/*     */   
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */   public int getDay()
/*     */   {
/* 102 */     return this.Day;
/*     */   }
/*     */   
/*     */ 
/*     */ 
/*     */   public int getHour()
/*     */   {
/* 109 */     return this.Hour;
/*     */   }
/*     */   
/*     */ 
/*     */ 
/*     */   public int getMinute()
/*     */   {
/* 116 */     return this.Minute;
/*     */   }
/*     */   
/*     */ 
/*     */ 
/*     */   public int getSeconds()
/*     */   {
/* 123 */     return this.Seconds;
/*     */   }
/*     */   
/*     */ 
/*     */ 
/*     */   public int getMilliseconds()
/*     */   {
/* 130 */     return this.Milliseconds;
/*     */   }
/*     */   
/*     */ 
/*     */ 
/*     */   public int getJavaCalendarDayOfWeek()
/*     */   {
/* 137 */     return this.dayOfWeek.javaDOW();
/*     */   }
/*     */   
/*     */ 
/*     */ 
/*     */   public int getMillisecsFromStartOfCurrentDay()
/*     */   {
/* 144 */     return ((this.Hour * 60 + this.Minute) * 60 + this.Seconds) * 1000 + this.Milliseconds;
/*     */   }
/*     */   
/*     */   public String toString() {
/* 148 */     StringBuffer timeInfo = new StringBuffer();
/* 149 */     if (this.Year != 0) {
/* 150 */       timeInfo.append("Year=");
/* 151 */       timeInfo.append(this.Year);
/* 152 */       timeInfo.append(" ");
/*     */     }
/* 154 */     timeInfo.append("Month=");
/* 155 */     timeInfo.append(this.Month);
/* 156 */     timeInfo.append(" ");
/* 157 */     timeInfo.append("Transition Time=");
/* 158 */     timeInfo.append(this.Hour).append(":").append(this.Minute);
/* 159 */     timeInfo.append(" ");
/* 160 */     if (this.Seconds != 0) {
/* 161 */       timeInfo.append("Non-zero Seconds=");
/* 162 */       timeInfo.append(this.Seconds).append(":").append(this.Milliseconds);
/* 163 */       timeInfo.append(" ");
/*     */     }
/* 165 */     timeInfo.append("(DayOfWeek=");
/* 166 */     timeInfo.append(this.dayOfWeek);
/* 167 */     timeInfo.append(" OccurrenceNumber=");
/* 168 */     timeInfo.append(this.Day);
/* 169 */     timeInfo.append(")");
/* 170 */     return timeInfo.toString();
/*     */   }
/*     */   
/*     */   private void readDayOfWeek(RawInputStream ris) throws IOException {
/* 174 */     long dow = ris.readU16();
/*     */     
/* 176 */     for (DayOfWeek curr : DayOfWeek.values()) {
/* 177 */       if (curr.mapiPropValue() == dow) {
/* 178 */         this.dayOfWeek = curr;
/* 179 */         return;
/*     */       }
/*     */     }
/*     */   }
/*     */   
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */   public boolean equivalentInTimeZones(SYSTEMTIME other)
/*     */   {
/* 191 */     if (other == null) {
/* 192 */       return false;
/*     */     }
/*     */     
/*     */ 
/* 196 */     if (this.Month != other.getMonth()) {
/* 197 */       return false;
/*     */     }
/* 199 */     if (this.dayOfWeek != other.getDayOfWeek()) {
/* 200 */       return false;
/*     */     }
/* 202 */     if (this.Hour != other.getHour()) {
/* 203 */       return false;
/*     */     }
/* 205 */     if (this.Minute != other.getMinute()) {
/* 206 */       return false;
/*     */     }
/* 208 */     if (this.Seconds != other.getSeconds()) {
/* 209 */       return false;
/*     */     }
/* 211 */     if (this.Milliseconds != other.getMilliseconds()) {
/* 212 */       return false;
/*     */     }
/* 214 */     return true;
/*     */   }
/*     */ }


/* Location:              /home/mint/zimbrastore.jar!/com/zimbra/cs/util/tnef/mapi/SYSTEMTIME.class
 * Java compiler version: 7 (51.0)
 * JD-Core Version:       0.7.1
 */